package com.changhong.framework.sdfs.rpc.rpcservice;

import static io.grpc.stub.ClientCalls.asyncUnaryCall;
import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
import static io.grpc.stub.ClientCalls.asyncClientStreamingCall;
import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
import static io.grpc.stub.ClientCalls.blockingUnaryCall;
import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
import static io.grpc.stub.ClientCalls.futureUnaryCall;
import static io.grpc.MethodDescriptor.generateFullMethodName;
import static io.grpc.stub.ServerCalls.asyncUnaryCall;
import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;

@javax.annotation.Generated("by gRPC proto compiler")
public class NameNodeServiceGrpc {

  private NameNodeServiceGrpc() {}

  public static final String SERVICE_NAME = "com.changhong.framework.sdfs.rpc.NameNodeService";

  // Static method descriptors that strictly reflect the proto.
  @io.grpc.ExperimentalApi
  public static final io.grpc.MethodDescriptor<com.changhong.framework.sdfs.rpc.domain.RegisterRequest,
      com.changhong.framework.sdfs.rpc.domain.RegisterResponse> METHOD_REGISTER =
      io.grpc.MethodDescriptor.create(
          io.grpc.MethodDescriptor.MethodType.UNARY,
          generateFullMethodName(
              "com.changhong.framework.sdfs.rpc.NameNodeService", "register"),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.RegisterRequest.getDefaultInstance()),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.RegisterResponse.getDefaultInstance()));
  @io.grpc.ExperimentalApi
  public static final io.grpc.MethodDescriptor<com.changhong.framework.sdfs.rpc.domain.HeartbeatRequest,
      com.changhong.framework.sdfs.rpc.domain.HeartbeatResponse> METHOD_HEARTBEAT =
      io.grpc.MethodDescriptor.create(
          io.grpc.MethodDescriptor.MethodType.UNARY,
          generateFullMethodName(
              "com.changhong.framework.sdfs.rpc.NameNodeService", "heartbeat"),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.HeartbeatRequest.getDefaultInstance()),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.HeartbeatResponse.getDefaultInstance()));
  @io.grpc.ExperimentalApi
  public static final io.grpc.MethodDescriptor<com.changhong.framework.sdfs.rpc.domain.DirectoryRequest,
      com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> METHOD_CREATE_DIR =
      io.grpc.MethodDescriptor.create(
          io.grpc.MethodDescriptor.MethodType.UNARY,
          generateFullMethodName(
              "com.changhong.framework.sdfs.rpc.NameNodeService", "createDir"),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest.getDefaultInstance()),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.DirectoryResponse.getDefaultInstance()));
  @io.grpc.ExperimentalApi
  public static final io.grpc.MethodDescriptor<com.changhong.framework.sdfs.rpc.domain.DirectoryRequest,
      com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> METHOD_DELETE_DIR =
      io.grpc.MethodDescriptor.create(
          io.grpc.MethodDescriptor.MethodType.UNARY,
          generateFullMethodName(
              "com.changhong.framework.sdfs.rpc.NameNodeService", "deleteDir"),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest.getDefaultInstance()),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.DirectoryResponse.getDefaultInstance()));
  @io.grpc.ExperimentalApi
  public static final io.grpc.MethodDescriptor<com.changhong.framework.sdfs.rpc.domain.DirectoryRequest,
      com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> METHOD_MODIFY_DIR =
      io.grpc.MethodDescriptor.create(
          io.grpc.MethodDescriptor.MethodType.UNARY,
          generateFullMethodName(
              "com.changhong.framework.sdfs.rpc.NameNodeService", "modifyDir"),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest.getDefaultInstance()),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.DirectoryResponse.getDefaultInstance()));
  @io.grpc.ExperimentalApi
  public static final io.grpc.MethodDescriptor<com.changhong.framework.sdfs.rpc.domain.DirectoryRequest,
      com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> METHOD_MOVE_DIR =
      io.grpc.MethodDescriptor.create(
          io.grpc.MethodDescriptor.MethodType.UNARY,
          generateFullMethodName(
              "com.changhong.framework.sdfs.rpc.NameNodeService", "moveDir"),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest.getDefaultInstance()),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.DirectoryResponse.getDefaultInstance()));
  @io.grpc.ExperimentalApi
  public static final io.grpc.MethodDescriptor<com.changhong.framework.sdfs.rpc.domain.FileRequest,
      com.changhong.framework.sdfs.rpc.domain.FileResponse> METHOD_UPLOAD_FILE =
      io.grpc.MethodDescriptor.create(
          io.grpc.MethodDescriptor.MethodType.UNARY,
          generateFullMethodName(
              "com.changhong.framework.sdfs.rpc.NameNodeService", "uploadFile"),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.FileRequest.getDefaultInstance()),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.FileResponse.getDefaultInstance()));
  @io.grpc.ExperimentalApi
  public static final io.grpc.MethodDescriptor<com.changhong.framework.sdfs.rpc.domain.FileRequest,
      com.changhong.framework.sdfs.rpc.domain.FileResponse> METHOD_DELETE_FILE =
      io.grpc.MethodDescriptor.create(
          io.grpc.MethodDescriptor.MethodType.UNARY,
          generateFullMethodName(
              "com.changhong.framework.sdfs.rpc.NameNodeService", "deleteFile"),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.FileRequest.getDefaultInstance()),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.FileResponse.getDefaultInstance()));
  @io.grpc.ExperimentalApi
  public static final io.grpc.MethodDescriptor<com.changhong.framework.sdfs.rpc.domain.FileRequest,
      com.changhong.framework.sdfs.rpc.domain.FileResponse> METHOD_MOVE_FILE =
      io.grpc.MethodDescriptor.create(
          io.grpc.MethodDescriptor.MethodType.UNARY,
          generateFullMethodName(
              "com.changhong.framework.sdfs.rpc.NameNodeService", "moveFile"),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.FileRequest.getDefaultInstance()),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.FileResponse.getDefaultInstance()));
  @io.grpc.ExperimentalApi
  public static final io.grpc.MethodDescriptor<com.changhong.framework.sdfs.rpc.domain.FileRequest,
      com.changhong.framework.sdfs.rpc.domain.FileResponse> METHOD_SCAN_FILE =
      io.grpc.MethodDescriptor.create(
          io.grpc.MethodDescriptor.MethodType.UNARY,
          generateFullMethodName(
              "com.changhong.framework.sdfs.rpc.NameNodeService", "scanFile"),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.FileRequest.getDefaultInstance()),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.FileResponse.getDefaultInstance()));
  @io.grpc.ExperimentalApi
  public static final io.grpc.MethodDescriptor<com.changhong.framework.sdfs.rpc.domain.RegisterRequest,
      com.changhong.framework.sdfs.rpc.domain.FileRequest> METHOD_SSA =
      io.grpc.MethodDescriptor.create(
          io.grpc.MethodDescriptor.MethodType.UNARY,
          generateFullMethodName(
              "com.changhong.framework.sdfs.rpc.NameNodeService", "ssa"),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.RegisterRequest.getDefaultInstance()),
          io.grpc.protobuf.ProtoUtils.marshaller(com.changhong.framework.sdfs.rpc.domain.FileRequest.getDefaultInstance()));

  public static NameNodeServiceStub newStub(io.grpc.Channel channel) {
    return new NameNodeServiceStub(channel);
  }

  public static NameNodeServiceBlockingStub newBlockingStub(
      io.grpc.Channel channel) {
    return new NameNodeServiceBlockingStub(channel);
  }

  public static NameNodeServiceFutureStub newFutureStub(
      io.grpc.Channel channel) {
    return new NameNodeServiceFutureStub(channel);
  }

  public static interface NameNodeService {

    public void register(com.changhong.framework.sdfs.rpc.domain.RegisterRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.RegisterResponse> responseObserver);

    public void heartbeat(com.changhong.framework.sdfs.rpc.domain.HeartbeatRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.HeartbeatResponse> responseObserver);

    public void createDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> responseObserver);

    public void deleteDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> responseObserver);

    public void modifyDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> responseObserver);

    public void moveDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> responseObserver);

    public void uploadFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileResponse> responseObserver);

    public void deleteFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileResponse> responseObserver);

    public void moveFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileResponse> responseObserver);

    public void scanFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileResponse> responseObserver);

    public void ssa(com.changhong.framework.sdfs.rpc.domain.RegisterRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileRequest> responseObserver);
  }

  public static interface NameNodeServiceBlockingClient {

    public com.changhong.framework.sdfs.rpc.domain.RegisterResponse register(com.changhong.framework.sdfs.rpc.domain.RegisterRequest request);

    public com.changhong.framework.sdfs.rpc.domain.HeartbeatResponse heartbeat(com.changhong.framework.sdfs.rpc.domain.HeartbeatRequest request);

    public com.changhong.framework.sdfs.rpc.domain.DirectoryResponse createDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request);

    public com.changhong.framework.sdfs.rpc.domain.DirectoryResponse deleteDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request);

    public com.changhong.framework.sdfs.rpc.domain.DirectoryResponse modifyDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request);

    public com.changhong.framework.sdfs.rpc.domain.DirectoryResponse moveDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request);

    public com.changhong.framework.sdfs.rpc.domain.FileResponse uploadFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request);

    public com.changhong.framework.sdfs.rpc.domain.FileResponse deleteFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request);

    public com.changhong.framework.sdfs.rpc.domain.FileResponse moveFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request);

    public com.changhong.framework.sdfs.rpc.domain.FileResponse scanFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request);

    public com.changhong.framework.sdfs.rpc.domain.FileRequest ssa(com.changhong.framework.sdfs.rpc.domain.RegisterRequest request);
  }

  public static interface NameNodeServiceFutureClient {

    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.RegisterResponse> register(
        com.changhong.framework.sdfs.rpc.domain.RegisterRequest request);

    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.HeartbeatResponse> heartbeat(
        com.changhong.framework.sdfs.rpc.domain.HeartbeatRequest request);

    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> createDir(
        com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request);

    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> deleteDir(
        com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request);

    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> modifyDir(
        com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request);

    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> moveDir(
        com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request);

    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.FileResponse> uploadFile(
        com.changhong.framework.sdfs.rpc.domain.FileRequest request);

    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.FileResponse> deleteFile(
        com.changhong.framework.sdfs.rpc.domain.FileRequest request);

    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.FileResponse> moveFile(
        com.changhong.framework.sdfs.rpc.domain.FileRequest request);

    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.FileResponse> scanFile(
        com.changhong.framework.sdfs.rpc.domain.FileRequest request);

    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.FileRequest> ssa(
        com.changhong.framework.sdfs.rpc.domain.RegisterRequest request);
  }

  public static class NameNodeServiceStub extends io.grpc.stub.AbstractStub<NameNodeServiceStub>
      implements NameNodeService {
    private NameNodeServiceStub(io.grpc.Channel channel) {
      super(channel);
    }

    private NameNodeServiceStub(io.grpc.Channel channel,
        io.grpc.CallOptions callOptions) {
      super(channel, callOptions);
    }

    @java.lang.Override
    protected NameNodeServiceStub build(io.grpc.Channel channel,
        io.grpc.CallOptions callOptions) {
      return new NameNodeServiceStub(channel, callOptions);
    }

    @java.lang.Override
    public void register(com.changhong.framework.sdfs.rpc.domain.RegisterRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.RegisterResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_REGISTER, getCallOptions()), request, responseObserver);
    }

    @java.lang.Override
    public void heartbeat(com.changhong.framework.sdfs.rpc.domain.HeartbeatRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.HeartbeatResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_HEARTBEAT, getCallOptions()), request, responseObserver);
    }

    @java.lang.Override
    public void createDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_CREATE_DIR, getCallOptions()), request, responseObserver);
    }

    @java.lang.Override
    public void deleteDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_DELETE_DIR, getCallOptions()), request, responseObserver);
    }

    @java.lang.Override
    public void modifyDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_MODIFY_DIR, getCallOptions()), request, responseObserver);
    }

    @java.lang.Override
    public void moveDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_MOVE_DIR, getCallOptions()), request, responseObserver);
    }

    @java.lang.Override
    public void uploadFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_UPLOAD_FILE, getCallOptions()), request, responseObserver);
    }

    @java.lang.Override
    public void deleteFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_DELETE_FILE, getCallOptions()), request, responseObserver);
    }

    @java.lang.Override
    public void moveFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_MOVE_FILE, getCallOptions()), request, responseObserver);
    }

    @java.lang.Override
    public void scanFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_SCAN_FILE, getCallOptions()), request, responseObserver);
    }

    @java.lang.Override
    public void ssa(com.changhong.framework.sdfs.rpc.domain.RegisterRequest request,
        io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileRequest> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_SSA, getCallOptions()), request, responseObserver);
    }
  }

  public static class NameNodeServiceBlockingStub extends io.grpc.stub.AbstractStub<NameNodeServiceBlockingStub>
      implements NameNodeServiceBlockingClient {
    private NameNodeServiceBlockingStub(io.grpc.Channel channel) {
      super(channel);
    }

    private NameNodeServiceBlockingStub(io.grpc.Channel channel,
        io.grpc.CallOptions callOptions) {
      super(channel, callOptions);
    }

    @java.lang.Override
    protected NameNodeServiceBlockingStub build(io.grpc.Channel channel,
        io.grpc.CallOptions callOptions) {
      return new NameNodeServiceBlockingStub(channel, callOptions);
    }

    @java.lang.Override
    public com.changhong.framework.sdfs.rpc.domain.RegisterResponse register(com.changhong.framework.sdfs.rpc.domain.RegisterRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_REGISTER, getCallOptions(), request);
    }

    @java.lang.Override
    public com.changhong.framework.sdfs.rpc.domain.HeartbeatResponse heartbeat(com.changhong.framework.sdfs.rpc.domain.HeartbeatRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_HEARTBEAT, getCallOptions(), request);
    }

    @java.lang.Override
    public com.changhong.framework.sdfs.rpc.domain.DirectoryResponse createDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_CREATE_DIR, getCallOptions(), request);
    }

    @java.lang.Override
    public com.changhong.framework.sdfs.rpc.domain.DirectoryResponse deleteDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_DELETE_DIR, getCallOptions(), request);
    }

    @java.lang.Override
    public com.changhong.framework.sdfs.rpc.domain.DirectoryResponse modifyDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_MODIFY_DIR, getCallOptions(), request);
    }

    @java.lang.Override
    public com.changhong.framework.sdfs.rpc.domain.DirectoryResponse moveDir(com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_MOVE_DIR, getCallOptions(), request);
    }

    @java.lang.Override
    public com.changhong.framework.sdfs.rpc.domain.FileResponse uploadFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_UPLOAD_FILE, getCallOptions(), request);
    }

    @java.lang.Override
    public com.changhong.framework.sdfs.rpc.domain.FileResponse deleteFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_DELETE_FILE, getCallOptions(), request);
    }

    @java.lang.Override
    public com.changhong.framework.sdfs.rpc.domain.FileResponse moveFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_MOVE_FILE, getCallOptions(), request);
    }

    @java.lang.Override
    public com.changhong.framework.sdfs.rpc.domain.FileResponse scanFile(com.changhong.framework.sdfs.rpc.domain.FileRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_SCAN_FILE, getCallOptions(), request);
    }

    @java.lang.Override
    public com.changhong.framework.sdfs.rpc.domain.FileRequest ssa(com.changhong.framework.sdfs.rpc.domain.RegisterRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_SSA, getCallOptions(), request);
    }
  }

  public static class NameNodeServiceFutureStub extends io.grpc.stub.AbstractStub<NameNodeServiceFutureStub>
      implements NameNodeServiceFutureClient {
    private NameNodeServiceFutureStub(io.grpc.Channel channel) {
      super(channel);
    }

    private NameNodeServiceFutureStub(io.grpc.Channel channel,
        io.grpc.CallOptions callOptions) {
      super(channel, callOptions);
    }

    @java.lang.Override
    protected NameNodeServiceFutureStub build(io.grpc.Channel channel,
        io.grpc.CallOptions callOptions) {
      return new NameNodeServiceFutureStub(channel, callOptions);
    }

    @java.lang.Override
    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.RegisterResponse> register(
        com.changhong.framework.sdfs.rpc.domain.RegisterRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_REGISTER, getCallOptions()), request);
    }

    @java.lang.Override
    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.HeartbeatResponse> heartbeat(
        com.changhong.framework.sdfs.rpc.domain.HeartbeatRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_HEARTBEAT, getCallOptions()), request);
    }

    @java.lang.Override
    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> createDir(
        com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_CREATE_DIR, getCallOptions()), request);
    }

    @java.lang.Override
    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> deleteDir(
        com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_DELETE_DIR, getCallOptions()), request);
    }

    @java.lang.Override
    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> modifyDir(
        com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_MODIFY_DIR, getCallOptions()), request);
    }

    @java.lang.Override
    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse> moveDir(
        com.changhong.framework.sdfs.rpc.domain.DirectoryRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_MOVE_DIR, getCallOptions()), request);
    }

    @java.lang.Override
    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.FileResponse> uploadFile(
        com.changhong.framework.sdfs.rpc.domain.FileRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_UPLOAD_FILE, getCallOptions()), request);
    }

    @java.lang.Override
    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.FileResponse> deleteFile(
        com.changhong.framework.sdfs.rpc.domain.FileRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_DELETE_FILE, getCallOptions()), request);
    }

    @java.lang.Override
    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.FileResponse> moveFile(
        com.changhong.framework.sdfs.rpc.domain.FileRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_MOVE_FILE, getCallOptions()), request);
    }

    @java.lang.Override
    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.FileResponse> scanFile(
        com.changhong.framework.sdfs.rpc.domain.FileRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_SCAN_FILE, getCallOptions()), request);
    }

    @java.lang.Override
    public com.google.common.util.concurrent.ListenableFuture<com.changhong.framework.sdfs.rpc.domain.FileRequest> ssa(
        com.changhong.framework.sdfs.rpc.domain.RegisterRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_SSA, getCallOptions()), request);
    }
  }

  private static final int METHODID_REGISTER = 0;
  private static final int METHODID_HEARTBEAT = 1;
  private static final int METHODID_CREATE_DIR = 2;
  private static final int METHODID_DELETE_DIR = 3;
  private static final int METHODID_MODIFY_DIR = 4;
  private static final int METHODID_MOVE_DIR = 5;
  private static final int METHODID_UPLOAD_FILE = 6;
  private static final int METHODID_DELETE_FILE = 7;
  private static final int METHODID_MOVE_FILE = 8;
  private static final int METHODID_SCAN_FILE = 9;
  private static final int METHODID_SSA = 10;

  private static class MethodHandlers<Req, Resp> implements
      io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
      io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>,
      io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>,
      io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> {
    private final NameNodeService serviceImpl;
    private final int methodId;

    public MethodHandlers(NameNodeService serviceImpl, int methodId) {
      this.serviceImpl = serviceImpl;
      this.methodId = methodId;
    }

    @java.lang.SuppressWarnings("unchecked")
    public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
      switch (methodId) {
        case METHODID_REGISTER:
          serviceImpl.register((com.changhong.framework.sdfs.rpc.domain.RegisterRequest) request,
              (io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.RegisterResponse>) responseObserver);
          break;
        case METHODID_HEARTBEAT:
          serviceImpl.heartbeat((com.changhong.framework.sdfs.rpc.domain.HeartbeatRequest) request,
              (io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.HeartbeatResponse>) responseObserver);
          break;
        case METHODID_CREATE_DIR:
          serviceImpl.createDir((com.changhong.framework.sdfs.rpc.domain.DirectoryRequest) request,
              (io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse>) responseObserver);
          break;
        case METHODID_DELETE_DIR:
          serviceImpl.deleteDir((com.changhong.framework.sdfs.rpc.domain.DirectoryRequest) request,
              (io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse>) responseObserver);
          break;
        case METHODID_MODIFY_DIR:
          serviceImpl.modifyDir((com.changhong.framework.sdfs.rpc.domain.DirectoryRequest) request,
              (io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse>) responseObserver);
          break;
        case METHODID_MOVE_DIR:
          serviceImpl.moveDir((com.changhong.framework.sdfs.rpc.domain.DirectoryRequest) request,
              (io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.DirectoryResponse>) responseObserver);
          break;
        case METHODID_UPLOAD_FILE:
          serviceImpl.uploadFile((com.changhong.framework.sdfs.rpc.domain.FileRequest) request,
              (io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileResponse>) responseObserver);
          break;
        case METHODID_DELETE_FILE:
          serviceImpl.deleteFile((com.changhong.framework.sdfs.rpc.domain.FileRequest) request,
              (io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileResponse>) responseObserver);
          break;
        case METHODID_MOVE_FILE:
          serviceImpl.moveFile((com.changhong.framework.sdfs.rpc.domain.FileRequest) request,
              (io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileResponse>) responseObserver);
          break;
        case METHODID_SCAN_FILE:
          serviceImpl.scanFile((com.changhong.framework.sdfs.rpc.domain.FileRequest) request,
              (io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileResponse>) responseObserver);
          break;
        case METHODID_SSA:
          serviceImpl.ssa((com.changhong.framework.sdfs.rpc.domain.RegisterRequest) request,
              (io.grpc.stub.StreamObserver<com.changhong.framework.sdfs.rpc.domain.FileRequest>) responseObserver);
          break;
        default:
          throw new AssertionError();
      }
    }

    @java.lang.SuppressWarnings("unchecked")
    public io.grpc.stub.StreamObserver<Req> invoke(
        io.grpc.stub.StreamObserver<Resp> responseObserver) {
      switch (methodId) {
        default:
          throw new AssertionError();
      }
    }
  }

  public static io.grpc.ServerServiceDefinition bindService(
      final NameNodeService serviceImpl) {
    return io.grpc.ServerServiceDefinition.builder(SERVICE_NAME)
        .addMethod(
          METHOD_REGISTER,
          asyncUnaryCall(
            new MethodHandlers<
              com.changhong.framework.sdfs.rpc.domain.RegisterRequest,
              com.changhong.framework.sdfs.rpc.domain.RegisterResponse>(
                serviceImpl, METHODID_REGISTER)))
        .addMethod(
          METHOD_HEARTBEAT,
          asyncUnaryCall(
            new MethodHandlers<
              com.changhong.framework.sdfs.rpc.domain.HeartbeatRequest,
              com.changhong.framework.sdfs.rpc.domain.HeartbeatResponse>(
                serviceImpl, METHODID_HEARTBEAT)))
        .addMethod(
          METHOD_CREATE_DIR,
          asyncUnaryCall(
            new MethodHandlers<
              com.changhong.framework.sdfs.rpc.domain.DirectoryRequest,
              com.changhong.framework.sdfs.rpc.domain.DirectoryResponse>(
                serviceImpl, METHODID_CREATE_DIR)))
        .addMethod(
          METHOD_DELETE_DIR,
          asyncUnaryCall(
            new MethodHandlers<
              com.changhong.framework.sdfs.rpc.domain.DirectoryRequest,
              com.changhong.framework.sdfs.rpc.domain.DirectoryResponse>(
                serviceImpl, METHODID_DELETE_DIR)))
        .addMethod(
          METHOD_MODIFY_DIR,
          asyncUnaryCall(
            new MethodHandlers<
              com.changhong.framework.sdfs.rpc.domain.DirectoryRequest,
              com.changhong.framework.sdfs.rpc.domain.DirectoryResponse>(
                serviceImpl, METHODID_MODIFY_DIR)))
        .addMethod(
          METHOD_MOVE_DIR,
          asyncUnaryCall(
            new MethodHandlers<
              com.changhong.framework.sdfs.rpc.domain.DirectoryRequest,
              com.changhong.framework.sdfs.rpc.domain.DirectoryResponse>(
                serviceImpl, METHODID_MOVE_DIR)))
        .addMethod(
          METHOD_UPLOAD_FILE,
          asyncUnaryCall(
            new MethodHandlers<
              com.changhong.framework.sdfs.rpc.domain.FileRequest,
              com.changhong.framework.sdfs.rpc.domain.FileResponse>(
                serviceImpl, METHODID_UPLOAD_FILE)))
        .addMethod(
          METHOD_DELETE_FILE,
          asyncUnaryCall(
            new MethodHandlers<
              com.changhong.framework.sdfs.rpc.domain.FileRequest,
              com.changhong.framework.sdfs.rpc.domain.FileResponse>(
                serviceImpl, METHODID_DELETE_FILE)))
        .addMethod(
          METHOD_MOVE_FILE,
          asyncUnaryCall(
            new MethodHandlers<
              com.changhong.framework.sdfs.rpc.domain.FileRequest,
              com.changhong.framework.sdfs.rpc.domain.FileResponse>(
                serviceImpl, METHODID_MOVE_FILE)))
        .addMethod(
          METHOD_SCAN_FILE,
          asyncUnaryCall(
            new MethodHandlers<
              com.changhong.framework.sdfs.rpc.domain.FileRequest,
              com.changhong.framework.sdfs.rpc.domain.FileResponse>(
                serviceImpl, METHODID_SCAN_FILE)))
        .addMethod(
          METHOD_SSA,
          asyncUnaryCall(
            new MethodHandlers<
              com.changhong.framework.sdfs.rpc.domain.RegisterRequest,
              com.changhong.framework.sdfs.rpc.domain.FileRequest>(
                serviceImpl, METHODID_SSA)))
        .build();
  }
}
